package com.sip.stream.utils.zfy.encoder;

import com.sip.stream.utils.zfy.consumer.IGSMediaObserver;
import com.sip.stream.utils.zfy.consumer.IGSVideoEncoderConsumer;

public interface IGSVideoEncoder extends IGSNV12Consumer, IGSMediaObserver<IGSVideoEncoderConsumer> {
    void addLisener(IGSVideoEncoderConsumer iGSVideoEncoderConsumer);
    boolean isStop();
    void removeLisener(IGSVideoEncoderConsumer iGSVideoEncoderConsumer);
    void setForcedInterval(int interval);
    void setPerformanceLevel(int level);
    void startEncode();
    @Override
    default void onStop(IGSVideoEncoderConsumer iGSVideoEncoderConsumer) {
        removeLisener(iGSVideoEncoderConsumer);
    }
}
